package com.wanna.common.doc.annotation;

import java.lang.annotation.*;

/**
 * api 方法参数
 *
 * @author wanna
 * @since 2018-11-25
 */
@Documented
@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiParam {

    /**
     * 参数名字
     *
     * @ param name
     */
    String name();

    /**
     * 是否必须
     *
     * @return true or false
     */
    boolean required() default true;

    /**
     * 参数描述
     *
     * @return description
     */
    String description() default "";

    /**
     * 参数为 object
     *
     * @return paramClass
     */
    Class paramClass() default Object.class;

    /**
     * 是否是集合类型
     *
     * @return true or false
     */
    boolean collectionType() default false;

}
